#include <stdio.h>
#include <stdlib.h>
#include "uthash.h"

// 查询数字首次和最后出现的位置，不存在则返回0


// 输入输出例子
// input: 6 4	//数组长度n为6，查询4次
// 2 3 3 1 2 2	//数组
// 1
// 2
// 3
// 4

// output:
// 3 3
// 0 5
// 1 2
// 0

typedef struct {
	int key;
	int first;
	int last;
	UT_hash_handle hh;
} uthash_t;


int main()
{
	int n, m;
	int i = 0;
	scanf("%d%d",&n,&m);
	int arr[n], ask[m];
	while (i < n && scanf("%d",&arr[i]) != EOF) i++;
	for (i = 0; i < m; i++) {
		scanf("%d",&ask[i]);
	}

	// make hash
	uthash_t *hash = NULL, *ret;
	for (i = 0; i < n; i++) {
		HASH_FIND_INT(hash, &arr[i], ret);
		if (ret == NULL) {
			uthash_t *temp = malloc(sizeof(*temp));
			temp->key = arr[i];
			temp->first = i;
			temp->last = i;
			HASH_ADD_INT(hash, key, temp);
		} else {
			ret->last = i;	//更新节点的last位置
		}
	}

	// search number
	for (i = 0; i < m; i++) {
		HASH_FIND_INT(hash, &ask[i], ret);
		if (ret == NULL) {
			printf("0\n");
		} else {
			printf("%d %d\n", ret->first, ret->last);
		}
	}

	// destory hash
	uthash_t *next;
	HASH_ITER(hh, hash, ret, next) {
		HASH_DEL(hash, ret);
		free(ret);
	}
	return 0;
}

